package com.ys.多线程.p7线程常用方法4线程合并合入;

import com.ys.多线程.p2创建线程实现Runnable接口.RabbitTask;
import com.ys.多线程.p2创建线程实现Runnable接口.TortoiseTask;

/**
 * 描述:
 *
 * @author CodeYang
 * @version 2021/1/5 0:49
 */
public class p1未合并线程测试 {

    public static void main(String[] args) {
        System.out.println(Thread.currentThread().getName()+"游戏开始");
        RabbitTask rabbitTask = new RabbitTask();
        TortoiseTask tortoiseTask = new TortoiseTask();
        // 兔子线程
        Thread t1 = new Thread(rabbitTask);
        // 乌龟线程
        Thread t2 = new Thread(tortoiseTask);
        t1.start();
        t2.start();


        System.out.println(Thread.currentThread().getName()+"游戏结束");
    }

    /**  输出:
     *    不符合我们的逻辑,应当把 兔子线程喝乌龟线程合并到主线程中
     * main游戏开始
     * main游戏结束
     * 真假:false
     * 兔子ZZZZZZZZZZZZZZZZZZZZ
     * 真假:true
     * 兔子跑了2步
     * 真假:false
     * 乌龟跑了:1步
     * 兔子ZZZZZZZZZZZZZZZZZZZZ
     * 真假:true
     * 兔子跑了4步
     * 真假:true
     * 兔子跑了6步
     * 真假:false
     * 兔子ZZZZZZZZZZZZZZZZZZZZ
     * 真假:true
     * 兔子跑了8步
     * 真假:false
     * 乌龟跑了:2步
     * 乌龟跑了:3步
     * 乌龟跑了:4步
     * 乌龟跑了:5步
     * 兔子ZZZZZZZZZZZZZZZZZZZZ
     * 真假:true
     * 兔子跑了10步
     * 真假:true
     * 兔子跑了12步
     * 真假:true
     * 兔子跑了14步
     * 真假:false
     * 兔子ZZZZZZZZZZZZZZZZZZZZ
     * 真假:false
     * 兔子ZZZZZZZZZZZZZZZZZZZZ
     * 乌龟跑了:6步
     * 真假:false
     * 兔子ZZZZZZZZZZZZZZZZZZZZ
     * 真假:true
     * 兔子跑了16步
     * 真假:true
     * 兔子跑了18步
     * 真假:true
     * 兔子跑了20步
     * 乌龟跑了:7步
     * 乌龟跑了:8步
     * 乌龟跑了:9步
     * 乌龟跑了:10步
     * 乌龟跑了:11步
     * 乌龟跑了:12步
     * 乌龟跑了:13步
     * 乌龟跑了:14步
     * 乌龟跑了:15步
     * 乌龟跑了:16步
     * 乌龟跑了:17步
     * 乌龟跑了:18步
     * 乌龟跑了:19步
     * 乌龟跑了:20步
     */
}
